package tpju;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;



public class Sport {
	private String nom;
	private List<Equipe> listeEquipe;
	private int nbEquipe;
	
	public Sport(String nom) {
		super();
		this.nom = nom;
		listeEquipe = new ArrayList<Equipe>();
	}
	
	public Sport(){
		this.nom = "Default";
		listeEquipe = new ArrayList<Equipe>();
		this.nbEquipe = 1;
	}

	public String getNom() {
		return nom;
	}
	
	public void setNom(String nom) {
		this.nom = nom;
	}
	
	public List<Equipe> getListeEquipe() {
		return Collections.unmodifiableList(this.listeEquipe);
	}
	
	public void setListeEquipe(ArrayList<Equipe> listeEquipe) {
		this.listeEquipe = listeEquipe;
	}
	
	public int getNbEquipe() {
		return this.nbEquipe;
	}
	
	public void setNbEquipe(int nbEquipe) {
		if(nbEquipe<0)
			this.nbEquipe = 0;
		else
			this.nbEquipe = nbEquipe;
	}

	@Override
	public String toString() {
		return "Sport [nom=" + nom + "]";
	}
		
	public int nbEquipe(){
		return listeEquipe.size();
	}
	
	public String getNomNonTrivial(){
		return this.nom + "nontrivial";
	}
	
	public void setNomNonTrivial(String nom) {
		this.nom = nom + "nontrivial";
	}

	public int nbTotalJoueur() {
		int cpt=0;
		for(Equipe e:this.getListeEquipe()) {
			cpt = cpt + e.getNbJoueur();
		}
		return cpt;
	}
	
	public void addEquipe(Equipe e){
		
		if(e.getSport() == null){
			this.listeEquipe.add(e);
			e.setSport(this);
		}
		if(!e.getSport().equals(this.nom)){
			e.getSport().listeEquipe.remove(e);
			e.setSport(this);
		}
		this.listeEquipe.add(e);
		e.setSport(this);
	}	

}
